package cn.edu.uibe.ui_demo.recyclerview;

import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import java.util.List;

import cn.edu.uibe.ui_demo.R;

public class RecyclerViewAdapter extends RecyclerView.Adapter <ItemViewHolder>{
    private List<DataItem> dataItemList;
    public void  setData(List<DataItem> dataItemList)
    {
        this.dataItemList=dataItemList;
        notifyDataSetChanged();//数据变化
    }

    @NonNull
    @Override
    public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

        // 获取 LayoutInﬂater 对象，它可以根据布局定义的内容⽣生成⼀一个 View 对象
         LayoutInflater layoutInﬂater = LayoutInflater.from(viewGroup.getContext());
          // ⽣生成 View 对象，
         View itemView = layoutInﬂater.inflate( R.layout.item_layout, viewGroup, false);
         // 实例例化⼀一个 ViewHolder
        ItemViewHolder viewHolder = new ItemViewHolder(itemView);
        // 返回 ViewHolder
        return viewHolder;//容器
    }

    @Override
    public void onBindViewHolder(@NonNull ItemViewHolder itemViewHolder, int i) {
        // 说明： i 是数据项的位置，决定了了显示的次序， i==0 ，就是第⼀一条
        // 获取第 i 条数据
          final DataItem dataItem = dataItemList.get(i);
        // 将第 i 条数据绑定到列列表项（ View ）中。 ImageView 未做处理理，后⾯面课程会介绍
          itemViewHolder.textView1.setText(dataItem.getText1());
          itemViewHolder.textView2.setText(dataItem.getText2());


        //存数据
    }

    @Override
    public int getItemCount() {
        return dataItemList.size();
    }
}
